// 白天模式(默认)
:root {
  --bg-color: #fff;
  --bg-color-secondary: #f0f2f5;
  --bg-color-hover: #fafafa;
  --text-color: #333;
  --text-color-secondary: #666;
  --text-color-disabled: rgba(0, 0, 0, 0.25);
  --border-color: #d9d9d9;
  --header-bg: #fff;
  --sider-bg: #001529;
  --content-bg: #fff;
  --shadow-color: rgba(0, 0, 0, 0.1);
  --hover-bg: rgba(0, 0, 0, 0.025);
  --active-bg: #e6f7ff;
  --menu-item-bg: #fafafa;
  --menu-item-hover-bg: #f5f5f5;
  --popup-bg: #fff;
  --tab-bg: #fafafa;
  --link-item-bg: #fafafa;
  --link-item-hover-bg: #e6f7ff;
}

// 暗夜模式
[data-theme='dark'] {
  --bg-color: #141414;
  --bg-color-secondary: #1f1f1f;
  --bg-color-hover: #2a2a2a;
  --text-color: rgba(255, 255, 255, 0.85);
  --text-color-secondary: rgba(255, 255, 255, 0.65);
  --text-color-disabled: rgba(255, 255, 255, 0.3);
  --border-color: #434343;
  --header-bg: #1f1f1f;
  --sider-bg: #000;
  --content-bg: #141414;
  --shadow-color: rgba(0, 0, 0, 0.45);
  --hover-bg: rgba(255, 255, 255, 0.08);
  --active-bg: rgba(24, 144, 255, 0.2);
  --menu-item-bg: #2a2a2a;
  --menu-item-hover-bg: #333;
  --popup-bg: #1f1f1f;
  --tab-bg: #2a2a2a;
  --link-item-bg: #2a2a2a;
  --link-item-hover-bg: rgba(24, 144, 255, 0.2);

  // Ant Design 组件暗色主题覆盖
  .ant-layout {
    background: var(--bg-color-secondary);
  }

  .ant-layout-header {
    background: var(--header-bg);
    color: var(--text-color);
  }

  .ant-layout-sider {
    background: var(--sider-bg);
  }

  .ant-layout-content {
    background: var(--bg-color-secondary);
    color: var(--text-color);
  }

  .ant-menu {
    background: transparent;
    color: var(--text-color);
  }

  .ant-menu-item,
  .ant-menu-submenu-title {
    color: rgba(255, 255, 255, 0.65);

    &:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.08);
    }
  }

  .ant-menu-item-selected {
    background-color: #1890ff !important;
    color: #fff;
  }

  .ant-breadcrumb {
    color: var(--text-color);

    a {
      color: var(--text-color-secondary);

      &:hover {
        color: #1890ff;
      }
    }

    // 面包屑分隔符
    .ant-breadcrumb-separator {
      color: var(--text-color-secondary);
    }
  }

  .ant-dropdown-menu {
    background: #1f1f1f !important;
  }

  .ant-dropdown-menu-item {
    color: rgba(255, 255, 255, 0.85) !important;

    &:hover {
      background: rgba(255, 255, 255, 0.08) !important;
    }
  }

  .ant-dropdown-menu-item-divider {
    background: var(--border-color) !important;
  }

  .ant-dropdown-menu-submenu-title {
    color: rgba(255, 255, 255, 0.85) !important;

    &:hover {
      background: rgba(255, 255, 255, 0.08) !important;
    }
  }

  .ant-tabs {
    color: var(--text-color);
  }

  .ant-tabs-tab {
    color: var(--text-color-secondary);

    &:hover {
      color: var(--text-color);
    }
  }

  .ant-tabs-tab-active {
    .ant-tabs-tab-btn {
      color: #1890ff;
    }
  }

  .ant-card {
    background: var(--content-bg);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-table {
    background: var(--content-bg);
    color: var(--text-color);
  }

  .ant-table-thead > tr > th {
    background: var(--bg-color-secondary);
    color: var(--text-color);
    border-color: var(--border-color);
  }

  .ant-table-tbody > tr > td {
    border-color: var(--border-color);
  }

  .ant-table-tbody > tr:hover > td {
    background: var(--hover-bg) !important;
  }

  .ant-table-cell-fix-right,
  .ant-table-cell-fix-left {
    background: var(--content-bg) !important;
  }

  .ant-table-tbody > tr:hover > .ant-table-cell-fix-right,
  .ant-table-tbody > tr:hover > .ant-table-cell-fix-left {
    background: var(--hover-bg) !important;
  }

  .ant-table-thead > tr > .ant-table-cell-fix-right,
  .ant-table-thead > tr > .ant-table-cell-fix-left {
    background: var(--bg-color-secondary) !important;
  }

  .ant-input,
  .ant-input-number,
  .ant-select-selector,
  .ant-picker {
    background: var(--bg-color-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;

    &:hover,
    &:focus {
      border-color: #1890ff !important;
    }
  }

  // 强化 Select 选择器样式
  .ant-select {
    .ant-select-selector {
      background: var(--bg-color-secondary) !important;
      border-color: var(--border-color) !important;
      color: var(--text-color) !important;
    }

    &:hover .ant-select-selector,
    &.ant-select-focused .ant-select-selector {
      border-color: #1890ff !important;
      background: var(--bg-color-secondary) !important;
    }
  }

  .ant-input::placeholder,
  .ant-select-selection-placeholder {
    color: var(--text-color-secondary) !important;
  }

  .ant-select-selection-item {
    color: var(--text-color) !important;
  }

  .ant-select-arrow {
    color: var(--text-color-secondary) !important;
  }

  .ant-select-clear {
    background: var(--bg-color-secondary) !important;
    color: var(--text-color-secondary) !important;
  }

  .ant-form-item-label > label {
    color: var(--text-color);
  }

  .ant-modal-content {
    background: var(--bg-color);
    color: var(--text-color);
  }

  .ant-modal-header {
    background: var(--bg-color);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-modal-title {
    color: var(--text-color);
  }

  .ant-modal-footer {
    border-color: var(--border-color);
    background: var(--bg-color);
  }

  .ant-modal-close {
    color: var(--text-color-secondary);

    &:hover {
      color: var(--text-color);
    }
  }

  .ant-modal-confirm-body {
    .ant-modal-confirm-title {
      color: var(--text-color) !important;
    }

    .ant-modal-confirm-content {
      color: var(--text-color-secondary) !important;
    }
  }

  .ant-btn-default {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
    color: var(--text-color);

    &:hover,
    &:focus {
      background: var(--bg-color-hover);
      border-color: #1890ff;
      color: #1890ff;
    }
  }

  .ant-pagination-item {
    background: var(--content-bg);
    border-color: var(--border-color);

    a {
      color: var(--text-color);
    }

    &:hover {
      border-color: #1890ff;

      a {
        color: #1890ff;
      }
    }
  }

  .ant-pagination-item-active {
    background: #1890ff !important;
    border-color: #1890ff !important;

    a {
      color: #fff !important;
    }
  }

  .ant-pagination-prev,
  .ant-pagination-next,
  .ant-pagination-jump-prev,
  .ant-pagination-jump-next {
    color: var(--text-color) !important;

    button {
      background: var(--content-bg) !important;
      border-color: var(--border-color) !important;
      color: var(--text-color) !important;
    }
  }

  .ant-pagination-disabled {
    .ant-pagination-item-link {
      background: var(--bg-color-secondary) !important;
      border-color: var(--border-color) !important;
      color: var(--text-color-disabled) !important;
    }
  }

  // 分页器总数文案
  .ant-pagination-total-text {
    color: var(--text-color) !important;
  }

  // 分页器跳转文案
  .ant-pagination-options-quick-jumper {
    color: var(--text-color) !important;

    input {
      background: var(--bg-color-secondary) !important;
      border-color: var(--border-color) !important;
      color: var(--text-color) !important;
    }
  }

  .ant-pagination-options {
    .ant-select-selector {
      background: var(--bg-color-secondary) !important;
      border-color: var(--border-color) !important;
      color: var(--text-color) !important;
    }
  }

  // 分页器简洁模式
  .ant-pagination-simple {
    .ant-pagination-simple-pager {
      color: var(--text-color) !important;

      input {
        background: var(--bg-color-secondary) !important;
        border-color: var(--border-color) !important;
        color: var(--text-color) !important;
      }
    }
  }

  .ant-input-disabled,
  .ant-select-disabled .ant-select-selector {
    background: var(--bg-color-secondary) !important;
    color: var(--text-color-disabled) !important;
    border-color: var(--border-color) !important;
  }

  .ant-input-affix-wrapper {
    background: var(--bg-color-secondary) !important;
    border-color: var(--border-color) !important;

    &:hover,
    &:focus {
      border-color: #1890ff !important;
    }

    input {
      background: transparent !important;
      color: var(--text-color) !important;
    }
  }

  .ant-input-password {
    background: var(--bg-color-secondary) !important;
    border-color: var(--border-color) !important;
  }

  .ant-input-search {
    .ant-input-group-addon {
      background: var(--bg-color-secondary) !important;
      border-color: var(--border-color) !important;

      .ant-btn {
        background: #1890ff !important;
        border-color: #1890ff !important;
      }
    }
  }

  .ant-select-dropdown {
    background: #1f1f1f !important;
  }

  // Select 下拉选项 - 更强的优先级
  .ant-select-item,
  .ant-select-item-option {
    color: rgba(255, 255, 255, 0.85) !important;
    background: transparent !important;

    &:hover,
    &.ant-select-item-option-active {
      background: rgba(255, 255, 255, 0.08) !important;
      color: rgba(255, 255, 255, 0.85) !important;
    }
  }

  .ant-select-item-option-selected {
    background: rgba(24, 144, 255, 0.2) !important;
    color: #fff !important;
    font-weight: 600;

    &:hover {
      background: rgba(24, 144, 255, 0.3) !important;
    }
  }

  .ant-select-item-option-content {
    color: inherit !important;
  }

  // 下拉菜单容器
  .rc-virtual-list {
    .rc-virtual-list-holder {
      .rc-virtual-list-holder-inner {
        .ant-select-item {
          color: rgba(255, 255, 255, 0.85) !important;
          background: transparent !important;
        }
      }
    }
  }

  // 额外的 Select 下拉选择器强化
  div.ant-select-dropdown {
    div.rc-virtual-list {
      div.ant-select-item {
        color: rgba(255, 255, 255, 0.85) !important;
        background: transparent !important;
      }
    }
  }

  // Select 空状态
  .ant-select-item-empty {
    color: var(--text-color-secondary) !important;
    background: transparent !important;
  }

  // Select 分组标题
  .ant-select-item-group {
    color: var(--text-color-secondary) !important;
  }
}

// 全局暗色模式 Select 下拉样式（针对 Teleport 到 body 下的元素）
html[data-theme='dark'] {
  // Select 选择器输入框样式
  .ant-select {
    .ant-select-selector {
      background: #1f1f1f !important;
      border-color: #434343 !important;
      color: rgba(255, 255, 255, 0.85) !important;
    }

    &:hover .ant-select-selector,
    &.ant-select-focused .ant-select-selector {
      border-color: #1890ff !important;
      background: #1f1f1f !important;
    }
  }

  .ant-select-selection-item {
    color: rgba(255, 255, 255, 0.85) !important;
  }

  .ant-select-selection-placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
  }

  .ant-select-arrow {
    color: rgba(255, 255, 255, 0.45) !important;
  }

  // Select 下拉菜单样式
  .ant-select-dropdown {
    background: #1f1f1f !important;
  }

  .ant-select-item,
  .ant-select-item-option {
    color: rgba(255, 255, 255, 0.85) !important;
    background: transparent !important;

    &:hover,
    &.ant-select-item-option-active {
      background: rgba(255, 255, 255, 0.08) !important;
      color: rgba(255, 255, 255, 0.85) !important;
    }
  }

  .ant-select-item-option-selected {
    background: rgba(24, 144, 255, 0.2) !important;
    color: #fff !important;
    font-weight: 600;

    &:hover {
      background: rgba(24, 144, 255, 0.3) !important;
    }
  }

  .ant-select-item-option-content {
    color: inherit !important;
  }

  .rc-virtual-list {
    .rc-virtual-list-holder {
      .rc-virtual-list-holder-inner {
        .ant-select-item {
          color: rgba(255, 255, 255, 0.85) !important;
          background: transparent !important;
        }
      }
    }
  }

  div.ant-select-dropdown {
    div.rc-virtual-list {
      div.ant-select-item {
        color: rgba(255, 255, 255, 0.85) !important;
        background: transparent !important;
      }
    }
  }

  .ant-select-item-empty {
    color: rgba(255, 255, 255, 0.45) !important;
    background: transparent !important;
  }

  .ant-select-item-group {
    color: rgba(255, 255, 255, 0.65) !important;
  }

  .ant-picker-dropdown {
    background: #1f1f1f;
  }

  .ant-picker-panel-container {
    background: #1f1f1f;
  }

  .ant-picker-header,
  .ant-picker-content,
  .ant-picker-footer {
    background: #1f1f1f;
    border-color: var(--border-color);
  }

  .ant-picker-cell {
    color: var(--text-color);

    &:hover .ant-picker-cell-inner {
      background: var(--hover-bg);
    }
  }

  .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner {
    background: #1890ff;
  }

  .ant-message-notice-content {
    background: #1f1f1f;
    color: var(--text-color);
  }

  .ant-notification-notice {
    background: #1f1f1f;
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-notification-notice-message {
    color: var(--text-color);
  }

  .ant-notification-notice-description {
    color: var(--text-color-secondary);
  }

  .ant-drawer-content {
    background: var(--bg-color);
    color: var(--text-color);
  }

  .ant-drawer-header {
    background: var(--bg-color);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-drawer-title {
    color: var(--text-color);
  }

  .ant-drawer-body {
    background: var(--bg-color);
  }

  .ant-tag {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-badge {
    color: var(--text-color);
  }

  .ant-divider {
    border-color: var(--border-color);
  }

  .ant-descriptions {
    color: var(--text-color);
  }

  .ant-descriptions-item-label {
    color: var(--text-color);
  }

  .ant-descriptions-item-content {
    color: var(--text-color-secondary);
  }

  .ant-empty-description {
    color: var(--text-color-secondary);
  }

  .ant-result-title {
    color: var(--text-color);
  }

  .ant-result-subtitle {
    color: var(--text-color-secondary);
  }

  .ant-checkbox-wrapper {
    color: var(--text-color);
  }

  .ant-radio-wrapper {
    color: var(--text-color);
  }

  .ant-switch {
    background: rgba(255, 255, 255, 0.3);

    &.ant-switch-checked {
      background: #1890ff;
    }
  }

  .ant-upload {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
  }

  .ant-upload-list {
    color: var(--text-color);
  }

  .ant-upload-list-item {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-steps {
    color: var(--text-color);
  }

  .ant-steps-item-title {
    color: var(--text-color);
  }

  .ant-steps-item-description {
    color: var(--text-color-secondary);
  }

  .ant-collapse {
    background: var(--content-bg);
    border-color: var(--border-color);
  }

  .ant-collapse-header {
    color: var(--text-color);
  }

  .ant-collapse-content {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-timeline {
    color: var(--text-color);
  }

  .ant-timeline-item-content {
    color: var(--text-color);
  }

  .ant-tree {
    background: var(--content-bg);
    color: var(--text-color);
  }

  .ant-tree-node-content-wrapper {
    color: var(--text-color);

    &:hover {
      background: var(--hover-bg);
    }
  }

  .ant-tree-node-selected {
    background: var(--active-bg) !important;
  }

  .ant-transfer {
    color: var(--text-color);
  }

  .ant-transfer-list {
    background: var(--content-bg);
    border-color: var(--border-color);
  }

  .ant-transfer-list-header {
    background: var(--bg-color-secondary);
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-transfer-list-content-item {
    color: var(--text-color);

    &:hover {
      background: var(--hover-bg);
    }
  }

  .ant-statistic {
    color: var(--text-color);
  }

  .ant-statistic-title {
    color: var(--text-color-secondary);
  }

  .ant-list {
    color: var(--text-color);
  }

  .ant-list-item {
    border-color: var(--border-color);
    color: var(--text-color);
  }

  .ant-list-item-meta-title {
    color: var(--text-color);
  }

  .ant-list-item-meta-description {
    color: var(--text-color-secondary);
  }

  .ant-avatar {
    background: var(--bg-color-secondary);
    color: var(--text-color);
  }

  .ant-popover {
    .ant-popover-inner {
      background: #1f1f1f !important;
      color: var(--text-color) !important;
    }

    .ant-popover-title {
      color: var(--text-color) !important;
      border-color: var(--border-color) !important;
    }

    .ant-popover-inner-content {
      color: var(--text-color-secondary) !important;
    }

    .ant-popover-arrow-content {
      background: #1f1f1f !important;
    }
  }

  .ant-tooltip {
    .ant-tooltip-inner {
      background: #1f1f1f !important;
      color: var(--text-color) !important;
    }

    .ant-tooltip-arrow-content {
      background: #1f1f1f !important;
    }
  }

  .ant-spin {
    color: #1890ff !important;
  }

  .ant-spin-text {
    color: var(--text-color) !important;
  }

  .ant-alert {
    background: var(--bg-color-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;

    .ant-alert-message {
      color: var(--text-color) !important;
    }

    .ant-alert-description {
      color: var(--text-color-secondary) !important;
    }
  }

  .ant-progress-text {
    color: var(--text-color) !important;
  }

  .ant-rate {
    color: var(--text-color-secondary) !important;
  }

  .ant-slider {
    .ant-slider-rail {
      background: var(--bg-color-secondary) !important;
    }

    .ant-slider-track {
      background: #1890ff !important;
    }

    .ant-slider-handle {
      border-color: #1890ff !important;
      background: var(--bg-color) !important;
    }

    .ant-slider-mark-text {
      color: var(--text-color-secondary) !important;
    }
  }

  .ant-calendar {
    background: #1f1f1f !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;
  }

  .ant-calendar-input {
    background: var(--bg-color-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;
  }

  // 滚动条样式 - 暗色
  ::-webkit-scrollbar-track {
    background: #1f1f1f;
  }

  ::-webkit-scrollbar-thumb {
    background: #555;

    &:hover {
      background: #888;
    }
  }
}


